<?php

declare(strict_types=1);

namespace wym\taglib\layui;

use think\Template;
use wym\taglib\Taglib;

class Prefix extends Taglib
{
    /**
     * 定义标签前缀
     */
    protected string $tag = 'prefix:';

    /**
     * 定义标签列表
     */
    protected $tags = [
        // 标签定义： attr 属性列表 close 是否闭合（0 或者1 默认1） alias 标签别名 level 嵌套层次
        'input' => ['attr' => 'name,type', 'close' => 0, 'alias' => ['text,password', 'label']],
    ];

    /**
     * input标签解析
     * 格式：{prefix:text /}
     *
     * @access public
     *
     * @param array $tag 标签
     *
     * @return string
     */
    public function tagInput(array $tag): string
    {
        $form = new Form(new Template());
        $icon = $tag['icon'] ?? '';
//        unset($tag['icon']);
        $parse = '';
        switch ($tag['label']) {
            case 'text':
            case 'password':
                $parse = $form->tagWrap([], $form->tagPrefix([], $form->tagIcon(['class' => $icon])) . $form->tagInput($tag));
                $parse = $form->tagItem([], $parse);
                break;
        }

        return $parse;
    }
}
